/*
 * Copyright 2007 National Bioinformatics Network
 * 
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package dgbgui.modeldocument.primitives;

import java.io.Serializable;

import dgbgui.exceptions.NoUniqueDGBQLException;

public class AttributeType extends Primitive implements Serializable {

    public long m_dataTypeID = (long)0;
    public String m_name = null;
    
    public char m_cardinality = (char)0;
    public boolean m_isRequired = false;
    public boolean m_isUnique = false;
    public boolean m_isIdentifier = false;
    
    public AttributeType(long id, long dataTypeID, String name, char cardinality, boolean isRequired, boolean isUnique, boolean isIdentifier ) {
        super(id);
        m_dataTypeID = dataTypeID;
        m_name = name;
        
        // Mofifiers
        m_cardinality = cardinality;
        m_isRequired = isRequired;
        m_isUnique = isUnique;
        m_isIdentifier = isIdentifier;
    }
    
    public String summary() {
        return "Attribute Type: " + m_id;
    }
    
    public String getDGBQLForPrimitive() throws NoUniqueDGBQLException {
        throw new NoUniqueDGBQLException(this);
    }

    
    // ---------------- Serialization ------------
    
    /**
     * First serilization version
     */
    private static final long serialVersionUID = 1L;
    

}
